; Music of Red Heat (1989) (Ocean Software)
; Ripped by Megachur the 09/12/2006

	write "REDHEAT.BIN"

music_date_rip	equ &09c6
music_adr	equ &2400
first_theme	equ 0
last_theme	equ 0

	read "music_header_v1_0.asm"

.l2406 equ $ + 6
.l2405 equ $ + 5
.l2404 equ $ + 4
.l2402 equ $ + 2
.l2400
	db #ed,#49,#ed,#79,#0e,#00,#ed,#49
.l2409 equ $ + 1
	db #ed,#79
.l2410 equ $ + 6
.l240f equ $ + 5
.l240e equ $ + 4
.l240c equ $ + 2
.l240a
	db #21,#00,#39,#22,#ea,#7d,#cd,#a6
.l2413 equ $ + 1
	db #7d,#cd
.l241a equ $ + 6
.l2419 equ $ + 5
.l2418 equ $ + 4
.l2416 equ $ + 2
.l2414
	db #4e,#9f,#3e,#54,#01,#10,#7f,#ed
.l241d equ $ + 1
	db #49,#ed
.l2424 equ $ + 6
.l241e
	db #1f,#00,#07,#10,#17,#1b,#e2,#26
	db #06,#27,#16,#27,#28,#27,#28,#27
	db #28,#27,#28,#27,#28,#27,#28,#27
.l2436
	db #39,#39,#5c,#0c,#0c,#0d,#0d,#0d
	db #0d,#0e,#0e,#0e,#0e,#0f,#0f,#0f
	db #0f,#0f,#0f,#0f,#0f,#0a,#0a,#0a
	db #08,#08,#08,#06,#06,#06,#04,#04
	db #04,#02,#02,#02,#00,#80,#04,#08
	db #0c,#0a,#05,#00,#80,#cd,#fc,#a2
	db #02,#00,#01,#16,#06,#00
	db #4d,#49,#53,#53,#49,#4f,#4e,#20
	db #49,#4e,#46,#4f,#52,#4d,#41,#54
	db #49,#4f,#4e,#00,#00,#16,#01,#03
	db #57,#48,#45,#4e,#20,#20,#59,#4f
	db #55,#20,#20,#41,#43,#43,#45,#53
	db #53,#20,#41,#20,#42,#4f,#4e,#55
	db #53,#20,#49,#43,#4f,#4e,#2c,#16
	db #00,#04,#59,#4f,#55,#20,#20,#57
	db #49,#4c,#4c,#20,#20,#42,#45,#20
	db #20,#50,#52,#45,#53,#45,#4e,#54
	db #45,#44,#20,#20,#57,#49,#54,#48
	db #20,#41,#16,#00,#05,#53,#55,#42
	db #20,#47,#41,#4d,#45,#20,#2e,#20
	db #41,#53,#20,#41,#20,#20,#44,#45
	db #54,#45,#43,#54,#49,#56,#45,#20
	db #2c,#20,#59,#4f,#55,#16,#00,#06
	db #4d,#55,#53,#54,#20,#20,#55,#53
	db #45,#20,#20,#59,#4f,#55,#52,#20
	db #20,#57,#49,#54,#53,#20,#54,#4f
	db #20,#20,#46,#49,#47,#55,#52,#45
	db #16,#00,#07,#4f,#55,#54,#20,#48
	db #4f,#57,#20,#54,#4f,#20,#53,#4f
	db #4c,#56,#45,#20,#45,#41,#43,#48
	db #20,#50,#52,#4f,#42,#4c,#45,#4d
	db #2e,#16,#00,#08,#45,#47,#2e,#20
	db #4f,#4e,#20,#54,#48,#45,#20,#44
	db #4f,#4c,#4c,#41,#52,#20,#20,#42
	db #49,#4c,#4c,#20,#53,#45,#43,#54
	db #49,#4f,#4e,#2c,#16,#00,#09,#59
	db #4f,#55,#20,#4d,#55,#53,#54,#20
	db #4c,#49,#47,#48,#54,#20,#55,#50
	db #20,#54,#48,#45,#20,#57,#48,#4f
	db #4c,#45,#20,#42,#49,#4c,#4c,#16
	db #00,#0a,#55,#53,#49,#4e,#47,#20
	db #54,#48,#45,#20,#45,#49,#47,#48
	db #54,#20,#50,#4f,#53,#49,#54,#49
	db #4f,#4e,#53,#20,#4f,#46,#20,#54
	db #48,#45,#16,#00,#0b,#4a,#4f,#59
	db #53,#54,#49,#43,#4b,#2e,#00,#01
	db #16,#04,#0e,#50,#52,#45,#53,#53
	db #20,#45,#4e,#54,#45,#52,#20,#54
	db #4f,#20,#43,#4f,#4e,#54,#49,#4e
	db #55,#45,#2e,#00,#00,#ff
;
.init_music
;
	defs 3,0	;call #8e68
	ld a,#0c
	ld (l2409),a
	xor a
	ld (l2413),a
	ld (l241d),a
	ld (l2404),a
	ld hl,l27f1
	ld (l2400),hl
	ld hl,(l27f1)
	ld (l2402),hl
	ld (l240e),a
	ld hl,l2815
	ld (l240a),hl
	ld hl,(l2815)
	ld (l240c),hl
	ld (l2418),a
	ld hl,l2839
	ld (l2414),hl
	ld hl,(l2839)
	ld (l2416),hl
	ld (l2405),a
	ld (l2406),a
	inc a
	ld (l240f),a
	ld (l2410),a
	inc a
	ld (l2419),a
	ld (l241a),a
.l2612
	ret	; added by Megachur
;	di	; modified by Megachur
;	call #8e1e	; = bd19
	defs 3,0
;
.play_music
;
	ld ix,l2400
	call l2654
	ld ix,l240a
	call l2654
	ld ix,l2414
	call l2654
	ld c,#1c
	ld a,#07
	call l8e2e
	ret		; added by Megachur
	defs 2,0	; modified by Megachur call #9425
	ld a,(#8066)
	and #40
	jp nz,l2645
	ld a,(#8068)
	and #04
	jp z,l2612
.l2645
	ld c,#3f
	ld a,#07
	call l8e2e
	ei
	ret
.l264e
	ld (ix+#07),#00
	jr l2661
.l2654
	ld a,(ix+#04)
	or a
	jp z,l2696
	dec (ix+#04)
	jp z,l2696
.l2661
	ld a,(ix+#08)
	or a
	jr z,l2680
	ld hl,l2436
	ld a,(ix+#06)
	add l
	ld l,a
	ld a,(hl)
	add (ix+#07)
	ld l,a
	inc (ix+#07)
	ld a,(hl)
	cp #fe
	jr z,l264e
	cp #80
	jr z,l2689
.l2680
	ld c,a
	ld a,#08
	add (ix+#05)
	jp l8e2e
.l2689
	dec (ix+#07)
	ld c,#00
	ld a,#08
	add (ix+#05)
	jp l8e2e
.l2696
	ld l,(ix+#02)
	ld h,(ix+#03)
	ld a,(hl)
	inc hl
	or a
	jp m,l26ce
	ld e,(hl)
	ld (ix+#04),e
	inc hl
	ld (ix+#02),l
	ld (ix+#03),h
	add (ix+#09)
	add a
	ld l,a
	ld h,#00
	ld de,l2749
	add hl,de
	ld e,(hl)
	inc hl
	ld d,(hl)
	ex de,hl
	ld a,(ix+#05)
	add a
	call l8e26
	ld (ix+#07),#00
	ld (ix+#08),#01
	jp l2661
.l26ce
	add a
	push hl
	ld hl,l2424
	ld e,a
	ld d,#00
	add hl,de
	ld e,(hl)
	inc l
	ld d,(hl)
	ld (l26e0),de
	pop hl
.l26e0 equ $ + 1
	jp #0000
	ld l,(ix+#00)
	ld h,(ix+#01)
.l26e8
	ld e,(hl)
	inc hl
	ld d,(hl)
	inc hl
	ld a,d
	or e
	jr z,l26ff
	ld (ix+#00),l
	ld (ix+#01),h
	ld (ix+#02),e
	ld (ix+#03),d
	jp l2696
.l26ff
	ld e,(hl)
	inc hl
	ld d,(hl)
	ex de,hl
	jp l26e8
	ld a,(hl)
	inc hl
	ld (ix+#04),a
	ld (ix+#02),l
	ld (ix+#03),h
	ld (ix+#08),#00
	ret
	ld a,(hl)
	inc hl
	ld (ix+#06),a
	ld (ix+#07),#00
	ld (ix+#02),l
	ld (ix+#03),h
	jp l2696
	ld e,(hl)
	ld (ix+#04),e
	inc hl
	ld (ix+#02),l
	ld (ix+#03),h
	sub #83
	ld hl,l241e
	add l
	ld l,a
	ld c,(hl)
	ld a,#06
	call l8e2e
	ld (ix+#07),#00
	ld (ix+#08),#01
	ret
.l2749
	dw #0777,#070c,#06a7,#0647
	dw #05ed,#0598,#0547,#04fc
	dw #04d4,#0470,#0431,#03f4
	dw #03dc,#0386,#0353,#0324
	dw #02f6,#02cc,#02a4,#027e
	dw #025a,#0238,#0218,#01fa
	dw #01de,#01c3,#01aa,#0192
	dw #017b,#0166,#0152,#013f
	dw #012d,#011c,#010c,#00fd
	dw #00ef,#00e1,#00d5,#00c9
	dw #00be,#00b3,#00a9,#009f
	dw #0096,#008e,#0086,#007f
	dw #0077,#0071,#006a,#0064
	dw #005f,#0059,#0054,#0050
	dw #004b,#0047,#0043,#003f
	dw #003c,#0038,#0035,#0032
	dw #002f,#002d,#002a,#0028
	dw #0026,#0024,#0022,#0020
	dw #001e,#001c,#001b,#0019
	dw #0018,#0016,#0015,#0014
	dw #0013,#0012,#0011,#0010
.l27f1
	dw l284d,l284d,l290e,l28fd
	dw l290e,l28fd,l28bd,l28dc
	dw l28bd,l28dc,l2852,l284d
	dw l2a1b,l2a1b,l28bd,l28dc
	dw #0000
.l2815 equ $ + 2
	dw l27f1,l2921,l299d,l295c
	dw l29de,l295c,l29de,l295c
	dw l29de,l295c,l29de,l295c
	dw l29de,l2a1b,l2a1b,l295c
	dw l29de,#0000
.l2839 equ $ + 2
	dw l2815,l2a60,l2a63,l2a60
	dw l2a68,l2a6b,l2a63,l2a60
	dw l2a70,#0000
.l2852 equ $ + 7
.l284d equ $ + 2
	db #39,#28,#81,#c0,#81,#c0,#80,#18
	db #06,#18,#06,#18,#06,#18,#06,#18
	db #0c,#18,#06,#18,#06,#18,#06,#18
	db #0c,#18,#06,#18,#06,#18,#06,#18
	db #0c,#18,#06,#18,#06,#18,#06,#18
	db #06,#18,#0c,#18,#06,#18,#06,#18
	db #06,#18,#0c,#18,#06,#18,#06,#18
	db #06,#18,#0c,#16,#06,#16,#06,#16
	db #06,#16,#06,#16,#0c,#16,#06,#16
	db #06,#16,#06,#16,#0c,#16,#06,#16
	db #06,#16,#06,#16,#0c,#16,#06,#16
	db #06,#16,#06,#16,#06,#16,#0c,#16
	db #06,#16,#06,#16,#06,#16,#0c,#16
	db #06,#16,#06,#16,#06,#16,#06,#16
.l28bd equ $ + 2
	db #06,#80,#1d,#0c,#1d,#0c,#1d,#18
	db #1d,#18,#1b,#0c,#1f,#18,#1f,#0c
	db #1d,#18,#1b,#18,#1d,#18,#1a,#18
	db #16,#0c,#11,#6c,#18,#18,#16,#18
.l28dc equ $ + 1
	db #80,#21,#0c,#21,#0c,#21,#18,#21
	db #18,#1f,#0c,#24,#18,#24,#0c,#22
	db #18,#21,#18,#22,#18,#21,#0c,#21
	db #0c,#21,#18,#21,#18,#1f,#0c,#21
.l28fd equ $ + 2
	db #6c,#80,#21,#24,#1a,#0c,#22,#0c
	db #21,#18,#1f,#0c,#21,#60,#21,#60
.l290e equ $ + 3
	db #21,#60,#80,#1f,#24,#24,#24,#26
	db #48,#26,#0c,#24,#0c,#22,#18,#24
.l2921 equ $ + 6
	db #24,#26,#24,#1d,#78,#80,#0c,#0c
	db #0c,#0c,#13,#0c,#0c,#0c,#11,#12
	db #0f,#12,#11,#0c,#0c,#0c,#0c,#0c
	db #13,#0c,#0c,#0c,#11,#12,#12,#12
	db #13,#0c,#0c,#0c,#0c,#0c,#13,#0c
	db #0c,#0c,#11,#12,#0f,#12,#11,#0c
	db #0c,#06,#0c,#06,#0c,#0c,#13,#0c
	db #0c,#0c,#11,#12,#12,#12,#13,#0c
.l295c equ $ + 1
	db #80,#0c,#06,#0c,#06,#0c,#0c,#13
	db #0c,#0c,#0c,#11,#12,#0f,#12,#11
	db #0c,#0c,#06,#0c,#06,#0c,#0c,#13
	db #0c,#0c,#0c,#11,#12,#12,#12,#13
	db #0c,#0a,#06,#0a,#06,#0a,#0c,#11
	db #0c,#0a,#0c,#0f,#12,#0d,#12,#0f
	db #0c,#0a,#06,#0a,#06,#0a,#0c,#11
	db #0c,#0a,#0c,#0f,#12,#10,#12,#11
.l299d equ $ + 2
	db #0c,#80,#0a,#06,#0a,#06,#0a,#0c
	db #11,#0c,#0a,#0c,#0f,#12,#0d,#12
	db #0f,#0c,#0a,#06,#0a,#06,#0a,#0c
	db #11,#0c,#0a,#0c,#0f,#12,#10,#12
	db #11,#0c,#0a,#06,#0a,#06,#0a,#0c
	db #11,#0c,#0a,#0c,#0f,#12,#0d,#12
	db #0f,#0c,#0a,#06,#0a,#06,#0a,#0c
	db #11,#0c,#0a,#0c,#0f,#12,#10,#12
.l29de equ $ + 3
	db #11,#0c,#80,#0e,#0c,#0e,#0c,#15
	db #0c,#0e,#0c,#13,#12,#11,#12,#13
	db #0c,#0e,#06,#0e,#06,#0e,#0c,#15
	db #0c,#0e,#0c,#13,#12,#14,#12,#15
	db #0c,#0e,#0c,#0e,#0c,#15,#0c,#0e
	db #0c,#13,#12,#11,#12,#13,#0c,#0e
	db #06,#0e,#06,#0e,#0c,#15,#0c,#0e
	db #0c,#13,#12,#14,#12,#15,#0c,#80
.l2a1b
	db #15,#12,#15,#0c,#15,#06,#13,#0c
	db #15,#06,#15,#0c,#15,#0c,#15,#06
	db #13,#0c,#15,#12,#15,#0c,#15,#06
	db #13,#0c,#15,#06,#15,#0c,#15,#12
	db #18,#0c,#1a,#12,#1a,#0c,#1a,#06
	db #18,#0c,#1a,#12,#1a,#0c,#1a,#06
	db #18,#0c,#1a,#12,#1a,#0c,#1a,#06
	db #18,#0c,#1a,#06,#1a,#0c,#1a,#0c
.l2a60 equ $ + 5
	db #1a,#06,#1c,#0c,#80,#83,#18,#80
.l2a68 equ $ + 5
.l2a63
	db #84,#0c,#83,#0c,#80,#84,#18,#80
.l2a70 equ $ + 5
.l2a6b
	db #83,#12,#83,#06,#80,#84,#0c,#84
	db #06,#84,#06,#80,#00,#00

.l8e26
	ld c,l
	ld e,a
	call l8e2e
	ld a,e
	inc a
	ld c,h
.l8e2e
	ld b,#f4
	out (c),a
	ld b,#f6
	in a,(c)
	or #c0
	out (c),a
	and #3f
	out (c),a
	ld b,#f4
	out (c),c
	ld b,#f6
	ld c,a
	or #80
	out (c),a
	out (c),c
	ret
;
.game_name
	db "Red Heat",0
.game_year
	db "1989",0
.game_publisher
	db "Ocean Software",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
